using Admin2505.Application.Common;
using Admin2505.Application.Dto;

namespace Admin2505.Application.Services;

public interface IRoleService

{
    //创建角色
    Task<ApiResult> CreateRoleAsync (CreateRoleDto createRoleDto);
    //更新角色

    Task<ApiResult> UpdateRoleAsync(Guid roleId, CreateRoleDto createRoleDto);

    ////删除角色

    Task<ApiResult> DeleteRoleAsync (Guid roleId);

    // Task<ApiResult> GetRoleByIdAsync(Guid roleId);

    // Task<ApiResult> GetAllRolesAsync();
    //分配权限

    Task<ApiResult> AssignPermissonToRoleAsync(Guid roleId,string PermissionCode);

    //移除权限

    Task<ApiResult> RemovePermissionFromRoleAsync(Guid roleId,string PermissionCode);
     
     //启用角色
    Task<ApiResult> EnableAsync(Guid roleId);
    //禁用角色
    Task<ApiResult> DisableAsync(Guid roleId);
}